home *** CD-ROM | disk | FTP | other *** search
- ***********************************************************************
- *********** ***********
- *********** ***********
- *********** Descrition des différents formats SoundTracker ***********
- *********** ***********
- *********** Format MultiTracker MTM ***********
- *********** ***********
- *********** ***********
- *********** Par Simplet / FATAL DESIGN ***********
- *********** ***********
- ***********************************************************************
-
-
- Structure d'infos sample :
- --------------------------
-
- RsReset
-
- MTM_Name rs.b 22
- MTM_Length rs.l 1 * Attention
- MTM_Repeat_Start rs.l 1 * à ce format
- MTM_Repeat_End rs.l 1 * Intel de Merde !!
- MTM_Fine_Tune rs.b 1 * de 0 à 15 = 0 à 7 et -8 à -1
- MTM_Volume rs.b 1 * de 0 à 64
-
- MTM_Attributes rs.b 1 * bit 0 --> 0 = 8 bits, 1 = 16 bits
-
- MTM_Size rs.b 1 * 37 octets
-
-
- Structure d'un fichier :
- ------------------------
-
- Offset Longueur Valeur
-
- Song_Chunk 0 3 'MTM'
- Song_Version 3 1 Version x.y $xy
- Song_Name 4 20 Nom du Morceau
- Song_Nb_Tracks 24 2 Nombre de Pistes sauvées
- Song_Last_Pattern 26 1 Nombre de Patterns - 1
- Song_Last_Position 27 1 Longueur du Module - 1
- Song_Length_Extra 28 2 Taille de la zone Extra-Comment
- Song_Nb_Samples 30 1 Nombre de Samples sauvés
- Song_Attributes 31 1 0 pour l'instant, inutilisé
- Song_Nb_Beats 32 1 Nombre de lignes d'une piste
- Song_Nb_Voices 33 1 Nombre de Voies à jouer
- Song_Voices_Pan 34 32 Positions panoramiques des voies
-
- Song_Sample_Infos 66 Nb_Samples*Sample_Size
-
- Song_Sequence 66 128 Séquence des Patterns
- + 37*Nb_S
-
- Song_Tracks 194 Nb_Tracks*Track_Size
- + 37*Nb_S
-
- Song_Tracks_Seq 194 32*2*( Last_Pattern + 1 )
- + 37*Nb_S
- +192*Nb_T
-
- Song_Extra_Comment 194 Song_Length_Extra
- + 37*Nb_S
- +192*Nb_T
- + 32*2*(Last_Pat+1)
-
- Song_Samples 194 Samples Non Signés
- + 37*Nb_S
- +192*Nb_T
- + 32*2*(Last_Pat+1)
- + Song_Length_Extra
-
-
- La Fréquence de Base des Samples est 8363 Hz.
- Le Tempo par défaut est 125 et la vitesse 6.
-
- Structure d'un morceau :
- ------------------------
-
- Le Morceau (Song) est composé de x positions auxquelles on associe un
- numéro de pattern au travers de la séquence des patterns (Song_Sequence)
-
- Dans la séquence, chaque numéro de pattern est codé sur un octet.
-
- Chaque pattern est composé de x voies (Voices), chaque voie est
- associée à un numéro de Piste (Track) grâce à la table Song_Tracks_Seq
-
- Dans cette table, on donne le numéro de piste sur un word (format
- Intel encore une fois !!!) pour chacune des 32 pistes. Le numéro 0
- correspond à la piste vide qui n'est jamais sauvée dans le fichier.
-
- Une piste est constituée de 64 lignes de 3 octets chacune :
-
- Octet 0 : ppppppss Octet 1 : sssseeee Octet 2 : aaaaaaaa
-
-
- pppppp : Pitch = No Note 0 = pas de nouvelle note
- ssssss : No Sample de 1 à 63
- eeee : No Effet Compatibles ProTracker
- aaaaaaaa : Paramètre de l'Effet
-
-
- Les Effets ProTracker :
- -----------------------
-
- L'octet de paramètre est noté XY
-
- Numéro Nom Description
-
- 0 Rien ou Arpeggio Changement rapide entre 3 notes
- Note normale, Note + X et Note + Y
-
- 1 Portamento Up Augmente la Hauteur de la Note
- en diminuant sa période de $XY à chaque
- 'tick' de chaque ligne
-
- 2 Portamento Down Diminue la Hauteur de la Note
- en augmentant sa période de $XY à chaque
- 'tick' de chaque ligne
-
- 3 Tone Portamento 'Liaison' entre deux Notes, Rapproche la
- période actuelle de la période de la Note
- désirée en l'augmentant ou la diminuant de
- $XY à chaque Ligne (vitesse)
-
- 4 Vibrato Fait osciller la période (à chaque 'tick')
- X est la vitesse
- Y est l'amplitude
-
- 5 Tone Portamento Conserve l'effet de Tone Portamento
- + Volume Slide et effectue un Volume Slide (Effet No A)
-
- 6 Vibrato Conserve l'effet de Vibrato
- + Volume Slide et effectue un Volume Slide (Effet No A)
-
- 7 Tremolo Vibrato sur le Volume, même fonctionnement
-
- 8 Fine Pan Position $XY Fixe la balance de la voie :
- $00 Gauche..$80 Milieu..$ff Droite
-
- 9 Sample Offset Augmente le point de départ du sample
- de $XY00 octets.
-
- A Volume Slide Augmente le Volume de $X
- ou le diminue de $Y à chaque 'tick' de chaque
- ligne et $X est prioritaire
-
- B Position Jump Saute à la position numéro $XY
- de la séquence des patterns.
-
- C Volume Change Fixe le Volume Courant à $XY
-
- D Pattern Break Passe à la position suivante dans la
- séquence et commence le pattern à la ligne
- 10 * X + Y, c'est un codage en BCD.
- Donc le numéro apparait en décimal
-
- E Effets Etendus Effet Etendu no X, paramètre Y
-
- F Set Speed/Tempo Si 0 < $XY < 32, fixe la vitesse (Speed)
- entre deux lignes
- Si $XY > 32, fixe le Tempo.
-
- Effets Etendus EX:
-
- 0 Set Filter Y : 1 = On, 0 = Off
- (ne fonctionne que sur certains types
- très particuliers d'Amiga)
-
- 1 Fine Portamento Up Idem Portamento Up, sauf que la
- période n'est diminuée de $Y qu'une
- seule fois par ligne (au 1er 'tick')
-
- 2 Fine Portamento Down Idem Portamento Down, sauf que la
- période n'est augmentée de $Y qu'une
- seule fois par ligne (au 1er 'tick')
-
- 3 Set Glissando Control Y : 1 = On, 0 = Off
- A utiliser avec le Tone Portamento
- Si Off, on a un Tone Portamento normal
- sinon le glissement entre les deux
- périodes se fait demi-ton par demi-ton
-
- 4 Set Vibrato Control Y Fixe le type de courbe utilisée pour
- le Vibrato :
- 0: Sinusoïde (par défaut)
- 1: Ramp Down
- 2: Onde Carrée
-
- +4: pour ne pas réinitialiser
- la courbe pour une nouvelle note
-
- 5 Set Fine Tune Y Fixe le Fine Tune du Sample :
- de 0 à 15 <=> de 0 à 7 et -8 à -1
- huitièmes de demi-ton
-
- 6 Pattern Loop $Y vaut 0 pour fixer le début de la
- boucle. Sinon, c'est le nombre de fois
- à répéter jusqu'à cette position.
-
- 7 Set Tremolo Control Fixe le type de courbe utilisée pour
- le Tremolo. Idem commande $E4
-
- 8 Set Pan Position $Y Fixe la balance de la voie :
- ( Parfois Stop ) $0 Gauche...$7 Milieu...$f Droite
-
- 9 Retrig Note Rejoue la note plusieurs fois entre
- deux lignes. $Y est le nombre de
- 'ticks' au bout desquels on rejoue
- la note. Donc avec un Speed de 6
- Si on indique 3, la note ne sera rejouée
- qu'une seule fois.
- Avec un Speed de 8, si on indique 2
- la note sera rejouée 3 fois de plus
-
- A Fine Volume Slide Up Idem Volume Slide Up, sauf que le volume
- n'est augmenté de $Y qu'une seule fois
- par ligne (au 1er 'tick')
-
- B Fine Volume Slide Down Idem Volume Slide Down, sauf que le
- volume n'est diminué de $Y qu'une seule
- fois par ligne (au 1er 'tick')
-
- C Note Cut Coupe la note (Volume 0) au bout
- de $Y 'ticks' dans la ligne. Cela permet
- de faire des notes extrêmement courtes.
-
- D Note Delay Ne joue la note qu'au bout de $Y 'ticks'
-
- E Pattern Delay Passe au pattern suivant au bout de $Y
- lignes.
-
- F Funk It Vitesse en $Y
- Invert Loop
-